#include<bits/stdc++.h>
using namespace std;
const int maxn=26*26*26*10;
vector<int>ans[maxn];

int name2id(char str[]){
    int num=0;
    for(int i=0;i<3;i++){
        num=num*26+str[i]-'A';
    }
    num=num*10+str[3]-'0';
    return num;
}

int main(){
    int N,K;
    scanf("%d %d",&N,&K);
    char name[5];
    for(int i=0;i<K;i++){
        int Ni,Ki;
        scanf("%d %d",&Ni,&Ki);
        for(int j=0;j<Ki;j++){
            scanf("%s",name);
            int id=name2id(name);
            ans[id].push_back(Ni);
        }
    }
    for(int i=0;i<N;i++){
        scanf("%s",name);
        int id=name2id(name);
        printf("%s %d",name,ans[id].size());
        sort(ans[id].begin(),ans[id].end());
        for(int j=0;j<ans[id].size();j++){
            printf(" %d",ans[id][j]);
        }
        printf("\n");
    }
    return 0;
}
